﻿using System.Collections.Generic;
using System;

namespace AspNetInfo.Diagnostics
{
    /// <summary>
    /// Classes implementing this interface are loaded by AspNetInfo as diagnostic plug-ins.  
    /// </summary>
    public interface ITestFixture
    {
        /// <summary>
        /// The Name will become the header in the interface for the test defined in this fixture.
        /// </summary>
        string Name { get; }

        /// <summary>
        /// Collection of diagnostics tests for this fixture.
        /// </summary>
        ICollection<ITest> Tests { get; set; }

        /// <summary>
        /// The Setup() method is called once prior to executing any of the tests in the fixture.
        /// </summary>
        void Setup();

        Exception Error { get; set; }
    }
}